﻿#define _CRT_SECURE_NO_WARNINGS
#include<iostream>
#include <string>
using namespace std;
//3.系统提供标准异常，要包含头文件；
#include <stdexcept>

class PersonStandard
{
public:
	PersonStandard(string name, int age)
	{
		this->m_Name = name;
		//1.年龄做检测；
		if (age < 0 || age>200)
		{
			//2.抛出越界异常；
			//throw out_of_range("年龄越界了！");
			throw length_error("长度越界！");
		}
	}

	string m_Name;
	int m_Age;
};
void testSystemException()
{
	try
	{
		PersonStandard("张三", 300);
	}
	catch (out_of_range& e)
	{
		cout << e.what() << endl;
	}
	catch (length_error& e)
	{
		cout << e.what() << endl;
	}
}

//main313：使用系统标准异常
int main313()
{
	testSystemException(); //年龄越界了！ --> 长度越界！

	system("pause");
	return EXIT_SUCCESS;
}